package com.tbynet.jwp.service.spi;

import com.jfinal.kit.Ret;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;

/**
 * 评论服务编排管理类
 * @ClassName: CommentManager
 * @Description: 负责评论相关业务的编排和事务管理，协调多个Service完成复杂业务操作
 * @Author: 佰亿互联
 * @Date: 2025年11月4日
 *
 * @Copyright: 2025 www.tbynet.com Inc. All rights reserved.
 * 注意: 本内容仅限于内部传阅，禁止外泄以及用于其他的商业目
 */
public interface CommentManager{

    /**
     * 批量审核评论
     * @param commentIds 评论ID数组
     * @param status 目标状态
     * @return 操作结果
     */
    Ret batchApproveComments(String[] commentIds, String status);

    /**
     * 批量删除评论
     * @param commentIds 评论ID数组
     * @return 删除结果
     */
    Ret batchDeleteComments(String[] commentIds);

    /**
     * 获取评论分页列表（带文章信息）
     * @param status 评论状态
     * @param pageNumber 页码
     * @param pageSize 每页大小
     * @return 评论分页数据
     */
    Page<Record> getCommentListWithPostInfo(String status, int pageNumber, int pageSize);

    /**
     * 获取文章评论统计
     * @param postId 文章ID
     * @return 评论统计信息
     */
    Record getPostCommentStats(Object postId);

    /**
     * 获取评论详情
     * @param commentId 评论ID
     * @return 评论详情
     */
    Record getCommentDetail(String commentId);
}